//
//This file contains defines needed to export classes from the library for every platform it supports.
//
#ifndef _BGAOS_H
#define _BGAOS_H

#if defined(__GNUC__)
#define BCL_USE_GNU     1
#include <stdint.h>
#include <stddef.h>
#else
#define BCL_USE_WINDOWS 1
#endif


#if BCL_USE_WINDOWS
#define BGACOMLIB_EXPORT __declspec(dllexport)
#define INT_64 __int64
#define INT_32 int
#define INT_16 short
#define BGA_STRCPY_S(A, B, C) strcpy_s(A, B, C)
#define BGA_STRCAT_S(A, B, C) strcat_s(A, B, C)
#define BGA_SLEEP Sleep
#define BGA_FOPEN_S(A, B, C)  fopen_s(A, B, C)
#define BGA_SPRINTF_S         sprintf_s
#else
#define BGACOMLIB_EXPORT 
#endif

#if BCL_USE_GNU
#define INT_64 int64_t
#define INT_32 int
#define INT_16 short
#define BGA_STRCPY_S(A, B, C) strcpy(A, C)
#define BGA_STRCAT_S(A, B, C) strcat(A, C)
#define BGA_SLEEP sleep
#define BGA_FOPEN_S(A, B, C)  fopen(B, C)
#define BGA_SPRINTF           sprintf
#include <errno.h>
#else
#endif

#endif
